package com.framework.bdf4j.msg.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.framework.bdf4j.msg.entity.domain.SysMessages;
import com.framework.bdf4j.msg.entity.dto.SysMessagesQueryDTO;
import com.framework.bdf4j.msg.entity.dto.SysMessagesSaveDTO;
import com.framework.bdf4j.msg.entity.dto.SysMessagesUpdateDTO;
import com.framework.bdf4j.msg.entity.vo.SysMessagesReceiveVo;
import com.framework.bdf4j.msg.entity.vo.SysMessagesVo;

/**
 * 消息发送服务
 *
 * @author shan.deng
 * @date 2020-07-15 16:06:44
 */
public interface SysMessagesService extends IService<SysMessages> {


    //查询自己收到的消息
    IPage<SysMessagesReceiveVo> pageMessageMyReceived(Page page, SysMessagesQueryDTO sysMessagesQueryDto);

    //查询自己发送的消息
    IPage<SysMessagesVo> pageMessageMySend(Page page, SysMessagesQueryDTO sysMessagesQueryDTO);

    //查询消息详情
    SysMessagesVo getMessagesById(Integer id);

    //查询消息详情
    SysMessagesReceiveVo getReceivedMessagesById(Integer id);

    //新增消息
    boolean saveMessages(SysMessagesSaveDTO sysMessagesSaveDTO);

    //修改消息
    boolean updateMessages(SysMessagesUpdateDTO sysMessagesUpdateDTO);

    //删除消息
    boolean deleteMessages(Integer id);

    //发送消息
    boolean sendMessage(SysMessages sysMessages);
}
